// pages/admin/index/index.js
const app = getApp();

Page({
  data: {
    userInfo: {
      name: '管理员',
      department: '教务处'
    },
    statistics: {
      studentCount: 0,
      teacherCount: 0,
      counselorCount: 0,
      classCount: 0
    },
    activities: [],
    // 添加天气数据
    weather: {
      temp: '--°C',
      condition: '加载中',
      city: '福州'
    }
  },

  onLoad: function() {
    // 获取用户信息
    this.getUserInfo();
    
    // 获取统计数据
    this.fetchStatistics();
    
    // 获取最近活动
    this.fetchRecentActivities();
    
    // 获取天气信息
    this.fetchWeather();
  },
  
  getUserInfo() {
    // 从本地存储或全局数据获取用户信息
    if (app.globalData && app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo
      });
    }
  },
  
  // 获取统计数据
  fetchStatistics: function() {
    wx.request({
      url: `${app.globalData.serverUrl}/api/admin/statistics`,
      method: 'GET',
      header: {
        'Authorization': `Bearer ${wx.getStorageSync('token')}`
      },
      success: (res) => {
        console.log('获取到的统计数据:', res.data);
        this.setData({
          statistics: {
            studentCount: res.data.studentCount || 0,
            teacherCount: res.data.teacherCount || 0,
            counselorCount: res.data.counselorCount || 0,
            classCount: res.data.classCount || 0
          }
        });
      },
      fail: (err) => {
        console.error('获取统计数据失败:', err);
      }
    });
  },
  
  // 获取最近活动
  fetchRecentActivities: function() {
    wx.request({
      url: `${app.globalData.serverUrl}/api/admin/activities`,
      method: 'GET',
      header: {
        'Authorization': `Bearer ${wx.getStorageSync('token')}`
      },
      success: (res) => {
        console.log('获取到的活动数据:', res.data);
        
        // 直接使用后端返回的数据，不做额外处理
        this.setData({
          activities: res.data || []
        });
      },
      fail: (err) => {
        console.error('获取最近活动失败:', err);
      }
    });
  },
  
  // 导航到其他页面
  navigateTo: function(e) {
    const url = e.currentTarget.dataset.url;
    wx.navigateTo({
      url: url,
      fail: function(err) {
        console.error('页面跳转失败:', err);
        wx.showToast({
          title: '页面跳转失败',
          icon: 'none'
        });
      }
    });
  },
  
  // 添加获取天气的方法
  fetchWeather: function() {
    wx.request({
      url: 'https://api.seniverse.com/v3/weather/now.json',
      method: 'GET',
      data: {
        key: 'SIij8E6v5NGGp0nYK',
        location: 'fujianfuzhou',
        language: 'zh-Hans',
        unit: 'c'
      },
      success: (res) => {
        if (res.data && res.data.results && res.data.results[0]) {
          const weatherData = res.data.results[0];
          this.setData({
            weather: {
              temp: `${weatherData.now.temperature}°C`,
              condition: weatherData.now.text,
              city: weatherData.location.name
            }
          });
        }
      },
      fail: (err) => {
        console.error('获取天气信息失败：', err);
        // 添加失败时的默认值
        this.setData({
          weather: {
            temp: '--°C',
            condition: '获取失败',
            city: '福州'
          }
        });
      }
    });
  }
})